package com.tfjybj.itoo.exam.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.exam.entity.ClassEntity;
import com.tfjybj.itoo.exam.template.ScreenClassStu;

import java.util.List;


/**
 * ClassService接口
 * class表
 *
 * @author 杨江涛
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 10:35:56
 */
public interface ClassService extends BaseServicePlus<ClassEntity> {

    //region 模板生成：模糊查询

    /**
     * 根据行政班名称模糊查询class
     *
     * @param name     行政班名称
     * @param pageNo   页码
     * @param pageSize 页数
     * @return 模糊查询的class
     * @author 杨江涛
     * @since 2.0.0 2018-11-15 10:35:56
     */
    PageInfo<ClassEntity> queryByLikeName(String name, Integer pageNo, Integer pageSize);

    //endregion

    /* **********************************以下为非模板生成的内容********************************* */

    /**
     * 根据professionId查找所有行政班信息
     *
     * @param professionId 专业id
     * @return classEntityList
     * @author 杨江涛
     * @since 2.0.0 2018-11-15 10:35:56
     */
    List<ClassEntity> findByProfessionId(String professionId);

    /**
     * 根据专业id查询在校班级以及人员
     *
     * @param screenClassName 模糊查询班级名称
     * @param majorId         专业id
     * @param startTime       考试开始时间
     * @param stuNameOrStuCode 模糊查询学生(姓名或者学号)
     * @param endTime 考试结束时间
     * @return 班级以及人员集合
     * @author 马莹
     * @since 2019-5-1 16:27:07
     */
    List<ScreenClassStu> querySchoolClass(String screenClassName, String majorId, String startTime, String stuNameOrStuCode, String endTime);

}
